<?php
/*
 * Busqueda de Proyectos.
 */
define('MY_DEBUG', 0);
define('ITEMS_PER_PAGE', 20);
define('DEFAULT_NO_ESPECIFICADO', 'No especificado');

/*
 * Definamos algunas funciones de utileria con querys de busqueda
 */
/*
 * Nos da una array con los campos minimos esperados para una busqueda corrrecta
 */

function get_default_search_query() {
    return array('search' => 1,
        'offset' => 0,
        'items_per_page' => ITEMS_PER_PAGE,
        'por_pasantia' => 1);
}

/*
 * Nos da los parametros de busqueda usados en la consulta.
 * Los parametros de la busqueda realizada pueden ser modificados si se
 * especifican los criterios que se quieran cambiar como parametro.
 *
 * @param  array    $new_search Contiene los nuevos criterios de busqueda
 * @return array    Una lista con los criterios de busqueda.
 */

function get_search_array($new_search = array()) {
    if (isset($_POST['search']))
        $query = $_POST;
    elseif (isset($_GET['search']))
        $query = $_GET;
    else
        $query = get_default_search_query();

    return array_merge($query, $new_search);
}

/*
 * Igual que get_search_array, solo que devuelve un Query String
 */

function get_search_query($new_search = array()) {
    return http_build_query(get_search_array($new_search));
}

/*
 * Trunca la fecha, conservando solo el anio
 */

function truncate_year($fecha) {
    if (!$fecha)
        return $fecha;

    @list($anio, $mes, $dia) = $time = explode('-', $fecha);
    if (count($time) != 3)
    // return $fecha;
        return '';

    return $anio;
}

/*
 * Trunca la fecha, conservando solo el mes
 */

function truncate_mes($fecha) {
    if (!$fecha)
        return $fecha;

    @list($anio, $mes, $dia) = $time = explode('-', $fecha);
    if (count($time) != 3)
    // return $fecha;
        return '';

    return $mes;
}

/*
 * Suma/Resta a una fecha, los anios, meses y dias indicados.
 *
 * @return String    La nueva fecha
 */

function sum_fecha($fecha, $anios=0, $meses=0, $dias=0) {
    if (!$fecha)
        return $fecha;

    @list($anio, $mes, $dia) = $time = explode('-', $fecha);
    if (count($time) != 3)
        return $fecha;

    $anio = (int) $anio + $anios;
    $mes = (int) $mes + $meses;
    $dia = (int) $dia + $dias;
    return sprintf("%04d-%02d-%02d", $anio, $mes, $dia);
}

/*
 * Obtiene una serie de anios que van desde el incial, hasta el final
 */

function list_anios($desde, $hasta, $count=5) {
    $now = (int) date('Y');
    $hasta = (int) $hasta;
    $desde = (int) $desde;

    //echo ($now." ".$hasta." ".$desde);

    if (!$hasta OR $hasta > $now)
        $hasta = $now;
    if (!$desde OR $desde > $hasta)
        $desde = $hasta - $count;

    $distancia = $hasta - $desde + 1;
    $result = array();
    for ($i = 0; $i < $distancia AND $desde <= $hasta - $i; $i++) {
        $result[] = $hasta - $i;
    }
    // echo "$desde - $hasta\n";
    return array_reverse($result);
}

/*
 * Acomoda el LIMIT de un sql
 */

function fix_param() {
    global $offset, $items_per_page;

    $offset = (int) $offset;
    $items_per_page = (int) $items_per_page;

    if ($offset < 0)
        $offset = 0;
    if (!$items_per_page)
        $items_per_page = ITEMS_PER_PAGE;
}

/*
 * Obtiene las "opciones "paginas" del menu de paginacion
 */

function get_pagination($offset, $total, $items_per_page = ITEMS_PER_PAGE) {
    $pages = ceil($total / $items_per_page);
    $current = get_current_page($offset, $items_per_page);
    $bound = 2;

    $inicio = ($current - $bound < 0) ? 0 : $current - $bound;
    $fin = ($current + $bound + 1 > $pages) ? $pages : $current + $bound + 1;
    ?>
    <div class="paginacion_box">
        <ul class="paginacion">
            <li><span class="paginacion_legend">P&aacute;ginas (<?php echo $pages ?>):</span></li>
            <?php if ($current > 0): ?>
                <li>
                    <a href="?<?php
        // $query = get_search_array();
        $new_query = get_search_query(array(
            'offset' => 0
                ));
        echo $new_query;
                ?>">&lt;&lt;</a>
                </li>
                <li>
                    <a href="?<?php
               // $query = get_search_array();
               $new_query = get_search_query(array(
                   'offset' => $offset - $items_per_page
                       ));
               echo $new_query;
                ?>">&lt;</a>
                </li>
            <?php endif; ?>
            <?php for ($i = $inicio; $i < $fin; $i++): ?>
                <li class="<?php if (get_current_page($offset, $items_per_page) == $i)
            echo 'actual'; ?>">
                    <a href="?<?php
            // $query = get_search_array();
            $new_query = get_search_query(array(
                'offset' => $i * $items_per_page
                    ));
            echo $new_query;
                ?>"><?php echo $i + 1 ?></a>
                </li>
            <?php endfor; ?>
            <?php if ($current + 1 < $pages): ?>
                <li>
                    <a href="?<?php
        // $query = get_search_array();
        $new_query = get_search_query(array(
            'offset' => $offset + $items_per_page
                ));
        echo $new_query;
                ?>">&gt;</a>
                </li>
                <li>
                    <a href="?<?php
               // $query = get_search_array();
               $new_query = get_search_query(array(
                   'offset' => ($pages - 1) * $items_per_page
                       ));
               echo $new_query;
                ?>">&gt;&gt;</a>
                </li>
            <?php endif; ?>
        </ul>
    </div>
    <?php
}

/*
 * Obtiene el numero de pagina actual
 */

function get_current_page($offset, $items_per_page = ITEMS_PER_PAGE) {
    return ceil($offset / $items_per_page);
}

/*
 * Resalta las palabras de la frase suministrada, que se encuentren en el
 * texto, con sintaxis HTML.
 */

function resaltar_palabras_en_frase($frase = array(), $texto = '') {
    $_colors = array('#B3C6FF', '#C6B3FF', '#ECB3FF', '#FFB3EC', '#B3ECFF', '#FFB3C6');
    $_palabras_clave = array_filter(explode(' ', $frase));
    $_colors_count = count($_colors);

    $i = 0;
    $_word_preg = array();
    $_word_replace = array();
    foreach ($_palabras_clave as $_word) {
        $_word_preg[] = '/' . strtolower($_word) . '/i';
        $_word_replace[] =
                '<span style="background-color:' . $_colors[$i % $_colors_count] . '">' .
                '\0' .
                '</span>';
        $i++;
    }
    return preg_replace($_word_preg, $_word_replace, $texto);
}

require "cAutorizacion.php";

$modo_depuracion = FALSE;

// Para formulario de pasantias

$LISTA_TIPO_PASANTIA = array();
$LISTA_ESTADO = array();
$LISTA_EMPRESA = array();

// para formulario de estudiantes
$LISTA_COHORTE = array();
$LISTA_CARRERA = array();

// para formulario de tutores
$LISTA_USBID = array();
$LISTA_DEPARTAMENTO = array();

// Resultados de la busqueda
$RESULT_PASANTIAS = array();
$RESULT_ALL_PASANTIAS = array();
$TABLA_RESUMEN = array();
$RESULT_TOTAL_BY_PASANTIA = array();

/*
 * Para el formulario de pasantias
 */
// Listado de tipos de Pasantia
$sql = "select * FROM tipo_pasantia ORDER BY nombre";
$resultado = ejecutarConsulta($sql, $conexion);
while ($row = obtenerResultados($resultado))
    $LISTA_TIPO_PASANTIA[] = $row;

// Listado de estados
$sql = "select * FROM estado ORDER BY nombre";
$resultado = ejecutarConsulta($sql, $conexion);
while ($row = obtenerResultados($resultado))
    $LISTA_ESTADO[] = $row;

// Listado de empresas
$sql = "select DISTINCT empresa, email FROM tutor_industrial";
$resultado = ejecutarConsulta($sql, $conexion);
while ($row = obtenerResultados($resultado))
    $LISTA_EMPRESA[] = $row;


/*
 * Para el formulario de estudiantes
 */
for ($i = (int) date('y'); $i >= 0; $i--)
    $LISTA_COHORTE[] = sprintf("%02d", $i);
for ($i = 99; $i >= 80; $i--)
    $LISTA_COHORTE[] = sprintf("%02d", $i);

// Lista de carreras
$sql = "SELECT * FROM carrera ORDER BY nombre";
$resultado = ejecutarConsulta($sql, $conexion);
while ($row = obtenerResultados($resultado))
    $LISTA_CARRERA[] = $row;

/*
 * Para formulario de tutores
 */
// Lista de usbid miembros usb (no estudiantes)
$sql = "SELECT * FROM tutor_academico";
$resultado = ejecutarConsulta($sql, $conexion);
while ($row = obtenerResultados($resultado))
    $LISTA_USBID[] = $row;

$sql = "SELECT * FROM departamento";
$resultado = ejecutarConsulta($sql, $conexion);
while ($row = obtenerResultados($resultado))
    $LISTA_DEPARTAMENTO[] = $row;


// Creamos variables con los datos de entrada, por simplicidad
if (isset($_POST['search']))
    extract($_POST);
else
    extract($_GET);

// Esto se asegura de que algunos parametros esten bien formados
fix_param();

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Consultas de busqueda
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

if (isset($por_estudiante)) {
    // Busqueda por estudiante!!
    $sql_pasantia = "SELECT p.*, ue.*,
                u.usbid, u.nombre usuario_nombre, u.apellido usuario_apellido"
            . " FROM pasantia p "
            . " LEFT JOIN usuario_estudiante ue ON (p.id_estudiante = ue.usbid_usuario) "
            . " LEFT JOIN usuario u ON (p.id_estudiante = u.usbid) "
            . " LEFT JOIN carrera c ON (c.codigo = ue.carrera) "
            . " WHERE ''='' ";

    $sql_totales = "SELECT p.*, ue.*, u.*, COUNT(*) totales "
            . " FROM pasantia p "
            . " LEFT JOIN usuario_estudiante ue ON (p.id_estudiante = ue.usbid_usuario) "
            . " LEFT JOIN usuario u ON (p.id_estudiante = u.usbid) "
            . " LEFT JOIN carrera c ON (c.codigo = ue.carrera) "
            . " WHERE ''='' ";
} elseif (isset($por_tutor)) {
    // Busqueda por tutor!!
    $sql_pasantia =
            "SELECT p.*, up.*,ta.*,
                u.usbid, u.nombre usuario_nombre, u.apellido usuario_apellido"
            . " FROM pasantia p "
            . " LEFT JOIN usuario_profesor up ON (p.id_tutor_academico= up.usbid_usuario) "
            . " LEFT JOIN usuario u ON (p.id_tutor_academico= u.usbid) "
            . " LEFT JOIN tutor_academico ta ON (p.id_tutor_academico= ta.usbid) "
            . " LEFT JOIN departamento d ON (up.dependencia= d.id) "
            . " WHERE ''='' ";

    $sql_totales = "SELECT p.*, COUNT(*) totales "
            . " FROM pasantia p "
            . " LEFT JOIN usuario_profesor up ON (p.id_tutor_academico= up.usbid_usuario) "
            . " LEFT JOIN usuario u ON (p.id_tutor_academico= u.usbid) "
            . " LEFT JOIN tutor_academico ta ON (p.id_tutor_academico= ta.usbid) "
            . " LEFT JOIN departamento d ON (up.dependencia= d.id) "
            . " WHERE ''='' ";
} else {
    // Busqueda por pasantia!!
    $sql_pasantia = "SELECT  p.*,ti.*,
                u.usbid, u.nombre usuario_nombre, u.apellido usuario_apellido"
            . " FROM pasantia p "
            . " LEFT JOIN usuario u ON (p.id_estudiante= u.usbid)"
            . " LEFT JOIN tutor_industrial ti ON (p.id_tutor_industrial= ti.email)"
            . " WHERE ''='' ";

    $sql_totales = "SELECT  p.*,u.*, COUNT(*) totales "
            . " FROM pasantia p "
            . " LEFT JOIN usuario u ON (p.id_estudiante= u.usbid)"
            . " WHERE ''='' ";
}

$constrains = '';
// restricciones comunes
if (!empty($palabras_clave)) {
    $_palabras_clave = array_filter(explode(' ', $palabras_clave));
    foreach ($_palabras_clave as $_word) {
        $constrains .= " AND p.titulo LIKE '%" . $_word . "%' ";
    }
}

// restricciones por pasantias
//if(isset($por_pasantia)) {

if (!empty($desde))
    $constrains .= " AND p.fecha >= '" . $desde . "' ";
if (!empty($hasta))
    $constrains .= " AND p.fecha <= '" . $hasta . "' ";

/* } else {
  if( !empty($desde) )    $constrains .= " AND p.fecha >= '".cambiaf_a_mysql($desde)."' ";
  if( !empty($hasta) )    $constrains .= " AND p.fecha <= '".cambiaf_a_mysql($hasta)."' ";
  } */

if (!empty($tipo_pasantia) && $tipo_pasantia == "ep-1420")
    $constrains .= "  AND p.codigo = 'ep-1420' ";
if (!empty($tipo_pasantia) && $tipo_pasantia == "ep-2420")
    $constrains .= "  AND p.codigo = 'ep-2420' ";
if (!empty($tipo_pasantia) && $tipo_pasantia == "ep-3420")
    $constrains .= "  AND p.codigo = 'ep-3420' ";
if (!empty($estado))
    $constrains .= " AND ti.id_estado = '" . $estado . "' ";
if (!empty($empresa))
    $constrains .= " AND ti.email = '" . $empresa . "' ";


if (!empty($culminado) && $culminado == "culminados")
    $constrains .= "  AND p.status = 'Culminado' ";
if (!empty($culminado) && $culminado == "rezagados")
    $constrains .= "  AND p.status = 'Rezagado' ";
if (!empty($culminado) && $culminado == "inscritos")
    $constrains .= "  AND p.status = 'Inscrito' ";
if (!empty($culminado) && $culminado == "pendientes")
    $constrains .= "  AND p.status = 'Pendiente' ";
if (!empty($culminado) && $culminado == "enviados")
    $constrains .= "  AND p.status = 'Enviado' ";
if (!empty($culminado) && $culminado == "rechazados")
    $constrains .= "  AND p.status = 'Rechazado' ";

// restricciones por estudiante
if (!empty($culminado) && $culminado == "si")
    $constrains .= "  AND p.status = 'Culminado' ";
if (!empty($culminado) && $culminado == "no")
    $constrains .= "  AND p.status <> 'Culminado' ";
if (!empty($est_carnet))
    $constrains .= " AND p.id_estudiante = '" . $est_carnet . "' ";
if (!empty($est_cohorte))
    $constrains .= " AND ue.cohorte = '" . $est_cohorte . "' ";
if (!empty($est_carrera))
    $constrains .= " AND ue.carrera = '" . $est_carrera . "' ";
if (!empty($est_email))
    $constrains .= " AND ue.email_sec LIKE '%" . $est_email . "%' ";
if (!empty($est_sexo))
    $constrains .= " AND ue.sexo = '" . $est_sexo . "' ";
if (!empty($est_nombre))
    $constrains .= " AND CONCAT(u.nombre, u.apellido) LIKE '%" . $est_nombre . "%' ";
if (!empty($est_carrera_duracion))
    $constrains .= " AND c.duracion = '" . $est_carrera_duracion . "' ";
if (!empty($est_carrera_sede))
    $constrains .= " AND (c.sede LIKE '%" . $est_carrera_sede . "%' OR ue.estudiante_sede = '" . $est_carrera_sede . "')";

// restricciones por tutor
if (!empty($tutor_usbid))
    $constrains .= " AND up.usbid_usuario = '" . $tutor_usbid . "' ";
if (!empty($tutor_mencion) && $tutor_mencion == "si")
    $constrains .= " AND p.tiene_mencion = '1' ";
if (!empty($tutor_mencion) && $tutor_mencion == "no")
    $constrains .= " AND p.tiene_mencion = '0' ";
if (!empty($tutor_dependencia))
    $constrains .= " AND d.id = '" . $tutor_dependencia . "' ";
if (!empty($tutor_email))
    $constrains .= " AND email_sec LIKE '%" . $tutor_email . "%' ";
if (!empty($tutor_nombre))
    $constrains .= " AND CONCAT(u.nombre, u.apellido) LIKE '%" . $tutor_nombre . "%' ";


// PASANTIAS, con paginacion
$sql = $sql_pasantia . $constrains . (($ver_usb) ? 'GROUP BY u.usbid ORDER BY p.fecha, usuario_apellido, usuario_nombre ' : ' ORDER BY p.fecha ') . " LIMIT " . $offset . ", " . $items_per_page;
$resultado = ejecutarConsulta($sql, $conexion);
while ($row = obtenerResultados($resultado))
    $RESULT_PASANTIAS[] = $row;
if (MY_DEBUG)
    echo "<br>DEBUG RESULT_PASANTIAS: $sql || $aprobado<br />";

// PASANTIAS totales, sin paginacion
$sql = $sql_pasantia . $constrains . (($ver_usb) ? 'GROUP BY u.usbid ORDER BY p.fecha ' : '');
$resultado = ejecutarConsulta($sql, $conexion);
while ($row = obtenerResultados($resultado))
    $RESULT_ALL_PASANTIAS[] = $row;
if (MY_DEBUG)
    echo "<br>DEBUG RESULT_ALL_PASANTIAS: $sql || $aprobado<br />";



// Vamos a buscar totales de pasantias, por anio
// usamos $sql_totales

$_anios = list_anios($desde, $hasta);
$_max_tabla_resumen = 0;
foreach ($_anios as $_anio) {
    $new_sql = $sql_totales . $constrains . " AND YEAR(p.fecha) = '$_anio' GROUP BY p.codigo";


    // DEBUG
    if (MY_DEBUG)
        echo '<br>TABLA_RESUMEN: ' . $new_sql . '<br />';
    $resultado = ejecutarConsulta($new_sql, $conexion);

    // Inicializamos
    $TABLA_RESUMEN['' . $_anio] = array();
    foreach ($LISTA_TIPO_PASANTIA as $tipo) {
        $TABLA_RESUMEN['' . $_anio][$tipo['codigo']] = 0;
        //$TOTALES_TABLA_RESUMEN = 0;
    }

    while ($row = obtenerResultados($resultado)) {

        $TABLA_RESUMEN['' . $_anio][$row['codigo']] += (int) $row['totales'];
        if ($TABLA_RESUMEN['' . $_anio][$row['codigo']] > $_max_tabla_resumen)
            $_max_tabla_resumen = $TABLA_RESUMEN['' . $_anio][$row['codigo']];
    }
}

// GROUP BY a.siglas ORDER BY a.nombre;
// Traemos los totales globales por area de proyecto
$sql = $sql_totales . " GROUP BY p.codigo";
$resultado = ejecutarConsulta($sql, $conexion);

// Inicializamos
foreach ($LISTA_TIPO_PASANTIA as $area)
    $RESULT_TOTAL_BY_PASANTIA[$area['codigo']] = 0;

$_max_total_result = 0;
while ($row = obtenerResultados($resultado)) {
    $RESULT_TOTAL_BY_PASANTIA[$row['codigo']] = (int) $row['totales'];
    if ((int) $row['totales'] > $_max_total_result)
        $_max_total_result = (int) $row['totales'];
}
if (MY_DEBUG)
    echo "<br>DEBUG_TOTAL_BY_PASANTIA: $sql || $aprobado<br />";



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Generador de reportes graficos :D
 *
 * Usando las herramientas de google para generar los reportes.
 * http://code.google.com/intl/es-CL/apis/chart/
 * http://code.google.com/intl/es-CL/apis/chart/docs/gallery/chart_gall.html
 */
$_REP_COLORS = array();
$_REP_COLORS_ = array(
	'FF906B', 'FFDA6B', 'DAFF6B', '90FF6B',
	'00B4F0', 'FF6B90', 'FF622E', 'F03C00',
	'DA6BFF', '906BFF', '6B90FF'
);
$i=0;
$len=count($_REP_COLORS_);
foreach($LISTA_TIPO_PASANTIA as $area) {
	$_REP_COLORS[$area['codigo']] = $_REP_COLORS_[$i%($len)];
	$i++;
}

/* * * * Resultados anuales * * * */
// Parametros con los datos
$rep_byanio_chd = array();
$rep_byanio_chxl = array();
$rep_byanio_chxr =
	str_replace('{max}', $_max_tabla_resumen, '0,0,{max}');
$rep_byanio_chco = array();
$rep_byanio_chds = array();
$rep_byanio_chdl = array();
$rep_byanio_chtt = '';

if($por_pasantia){
	$rep_byanio_chtt = 'Pasantias';
} elseif($por_estudiante){
	$rep_byanio_chtt = 'Pasantias realizadas por estos estudiantes';
} elseif($por_tutor){
	$rep_byanio_chtt = 'Tutor&iacute;as realizadas';
}

// Datos
$_anios = list_anios($desde, $hasta);
$_temp_color = array();
foreach($LISTA_TIPO_PASANTIA as $area)
{
	if( !isset($tipo_pasantia) || !$tipo_pasantia || $tipo_pasantia == $area['codigo'])
	{
		$_temp_color[] = $_REP_COLORS[$area['codigo']];

		$_temp = array();
		foreach($_anios as $_anio)
		{
				$_temp[] = $TABLA_RESUMEN[''.$_anio][$area['codigo']];
			// echo $TABLA_RESUMEN[''.$_anio][$area['siglas']];
		}
		$rep_byanio_chd[] = implode(',', $_temp);
		$rep_byanio_chds[] = "0,{max}";
		$rep_byanio_chdl[] =
			str_replace(' ', '+', $area['codigo']." (".$area['nombre'].")");
	}
}
$rep_byanio_chd = 't:' . implode('|', $rep_byanio_chd);
$rep_byanio_chds =
	str_replace('{max}', $_max_tabla_resumen, implode(',', $rep_byanio_chds));
$rep_byanio_chco = implode(',', $_temp_color);
$rep_byanio_chdl = implode('|', $rep_byanio_chdl);

// Leyenda
foreach($_anios as $_anio)
	$rep_byanio_chxl[] = $_anio;
$rep_byanio_chxl = '1:|' . implode('|', $rep_byanio_chxl);

$REP_BYANIO__SRC = http_build_query(array(
	'cht' => 'bvg',
	'chxt' => 'y,x',
	'chbh' => 'r,0,16',
	'chdlp' => 'r',
	'chg' => '0,20',
	'chs' => '700x350',
	'chf' => 'bg,lg,0,FFFFFF,0,F7F7F7,1',
	'chtt' => $rep_byanio_chtt,
	'chts' => '000000,18',
	// 'chm' => 'N*p0*,333333,0,-1,'.$_max_tabla_resumen,
	'chd' => $rep_byanio_chd,
	'chxl' => $rep_byanio_chxl,
	'chxr' => $rep_byanio_chxr,
	'chco' => $rep_byanio_chco,
	'chds' => $rep_byanio_chds,
	'chdl' => $rep_byanio_chdl
));
$REP_BYANIO__SRC = urldecode($REP_BYANIO__SRC);

// echo '<img src="http://chart.apis.google.com/chart?'.$REP_BYANIO__SRC.'" alt="" />';
// print_r(urldecode($REP_BYANIO__SRC));
// echo "(". strlen($rep_byanio__src) .")";

$rep_bytotal_chd = array();	// resultados, por anios
$rep_bytotal_chl = array();
$rep_bytotal_chco = array();
$rep_bytotal_chtt = '';

if($por_pasantia){
	$rep_bytotal_chtt = 'Pasantias (Totales)';
} elseif($por_estudiante){
	$rep_bytotal_chtt = 'Inscripciones realizadas por estos estudiantes (Totales)';
} elseif($por_tutor){
	$rep_bytotal_chtt = 'Tutor&iacute;as realizadas (Totales)';
}

$i=0;
foreach( $RESULT_TOTAL_BY_PASANTIA as $area => $result)
{
	$rep_bytotal_chco[] = $_REP_COLORS[$area];
	$rep_bytotal_chd[] = $result;
	$rep_bytotal_chl[] =
		str_replace(' ', '+', $LISTA_TIPO_PASANTIA[$i]['codigo']." (".$LISTA_TIPO_PASANTIA[$i]['nombre'].")");
	$i++;
}
$rep_bytotal_chco = implode(',', $rep_bytotal_chco);
$rep_bytotal_chd = 't:' . implode(',', $rep_bytotal_chd);
$rep_bytotal_chl = implode('|', $rep_bytotal_chl);

$REP_BYTOTAL__SRC = http_build_query(array(
	'cht' => 'p3',
	'chbh' => 'a,0,16',
	'chs' => '650x200',
	'chf' => 'bg,lg,0,FFFFFF,0,F7F7F7,1',
	'chtt' => $rep_bytotal_chtt,
	'chts' => '000000,18',
	'chd' => $rep_bytotal_chd,
	'chco' => $rep_bytotal_chco,
	'chl' => $rep_bytotal_chl,
));
$REP_BYTOTAL__SRC = urldecode($REP_BYTOTAL__SRC);


$rep_bytotal_chxl = array();
$rep_bytotal_chco = array();
$rep_bytotal_chxr =
	str_replace('{max}', $_max_tabla_resumen, '0,0,{max}');
$rep_bytotal_chds = array();
$rep_bytotal_chdl = array();

$i=0;
foreach($RESULT_TOTAL_BY_PASANTIA as $area => $result)
{
	$rep_bytotal_chco[] = $_REP_COLORS[$area];
	$rep_bytotal_chxl[] = trim($LISTA_TIPO_PASANTIA[$i]['codigo']);
	$rep_bytotal_chds[] = "0,{max}";
	$rep_bytotal_chdl[] = trim($LISTA_TIPO_PASANTIA[$i]['nombre']);
	$i++;
}
$rep_bytotal_chl = implode('|', $rep_bytotal_chl);
$rep_bytotal_chco = implode('|', $rep_bytotal_chco);
$rep_bytotal_chds =
	str_replace('{max}', $_max_total_result, implode(',', $rep_bytotal_chds));
$rep_bytotal_chxl = '1:|' . implode('|', $rep_bytotal_chxl);
$rep_bytotal_chdl = implode('|', $rep_bytotal_chdl);

$REP_BYTOTAL__SRC2 = http_build_query(array(
	'cht' => 'bvg',
	'chxt' => 'y,x',
	'chbh' => 'a,0,16',
	'chdlp' => 'r',
	'chg' => '0,20',
	'chs' => '650x300',
	'chf' => 'bg,lg,0,FFFFFF,0,F7F7F7,1',
	'chtt' => $rep_bytotal_chtt . ' - En Barras',
	'chts' => '000000,18',
	'chd' => $rep_bytotal_chd,
	'chxl' => $rep_bytotal_chxl,
	'chxr' => $rep_bytotal_chxr,
	'chco' => $rep_bytotal_chco,
	'chds' => $rep_bytotal_chds,
	// 'chl' => $rep_bytotal_chl,
	'chdl' => $rep_bytotal_chdl
));
$REP_BYTOTAL__SRC2 = urldecode($REP_BYTOTAL__SRC2);

// echo '<img src="http://chart.apis.google.com/chart?'.$REP_BYTOTAL__SRC.'" alt="" />';
// print_R($REP_BYTOTAL__SRC);

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Exportar resultados como un XML
 *
 * Sencillo, si nos piden el XML, simplemente armamos uno, lo imprimimos
 * y TERMINAMOS EL SCRIPT.
 */
if($load_xml)
{
	if($ver_usb)
		if($por_estudiante)
			$newXML = new SimpleXMLElement("<estudiantes></estudiantes>");
		else
			$newXML = new SimpleXMLElement("<tutores></tutores>");
	else
		if($por_pasantia)
			$newXML = new SimpleXMLElement("<pasantias></pasantias>");
		else
			// Si no son proyectos, son inscripciones
			$newXML = new SimpleXMLElement("<inscripciones></inscripciones>");

	$newXML->addAttribute('total', count($RESULT_ALL_PASANTIAS));

	foreach($RESULT_ALL_PASANTIAS as $value)
	{
		// $newsXML->addAttribute('newsPagePrefix', 'value goes here');

		// Datos
		if($ver_usb) {
			if($por_estudiante){
				$newUsb = $newXML->addChild('estudiante');

				$newUsb->addChild('usbid', $value['usbid_estudiante']);
				$newUsb->addChild('carnet', $value['carnet']);
				$newUsb->addChild('nombre', $value['usuario_nombre']);
				$newUsb->addChild('apellido', $value['usuario_apellido']);
				$newUsb->addChild('sexo', $value['sexo']);
				$newUsb->addChild('cohorte', $value['cohorte']);
				$newUsb->addChild('carrera', $value['carrera']);
				$newUsb->addChild('email_alternativo', $value['email_sec']);
			} elseif($por_tutor) {
				$newUsb = $newXML->addChild('tutor');

				$newUsb->addChild('usbid', $value['tutor']);
				$newUsb->addChild('nombre', $value['usuario_nombre']);
				$newUsb->addChild('apellido', $value['usuario_apellido']);
				$newUsb->addChild('dependencia', $value['dependencia']);
				$newUsb->addChild('email_alternativo', $value['email_sec']);
			}
		} else {
			if($por_estudiante OR $por_tutor) {
				// Estamos manejando inscripciones
				$newInscrip = $newXML->addChild('inscripcion');

				$newInscrip->addChild('usbid_estudiante', $value['usbid_estudiante']);
				$newInscrip->addChild('codigo', $value['codigo']);
				$newInscrip->addChild('periodo', $value['periodo']);
 				$newInscrip->addChild('anho', $value['anho']);                               
  				$newInscrip->addChild('fecha', $value['fecha']); 
   				$newInscrip->addChild('cod_seguridad', $value['cod_seguridad']);                                 
   				$newInscrip->addChild('titulo', $value['titulo']);  
   				$newInscrip->addChild('area_proyecto', $value['area_proyecto']);                                  
   				$newInscrip->addChild('resumen_proyecto', $value['resumen_proyecto']);    
   				$newInscrip->addChild('confidencial', $value['confidencial']);                                  
   				$newInscrip->addChild('objetivos', $value['objetivos']);  
                                
                        // Inscrustamos el proyecto en la inscripcion
				$newProyecto = $newInscrip->addChild('pasantia');
			} else {
				// Estamos manejando SOLO proyectos
				$newProyecto = $newXML->addChild('pasantia');
			}

			$newProyecto->addChild('codigo', $value['codigo']);
			$newProyecto->addChild('titulo', $value['titulo']);
		}
	}

	// Estamos listos...
	Header('Content-type: text/xml');
	echo $newXML->asXML();
	exit;
}


/*\
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
